]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
Add policy for builtin message sources
authorGiovanni Campagna <gcampagna@src.gnome.org>
Sun, 4 Nov 2012 01:11:08 +0000 (02:11 +0100)
committerGiovanni Campagna <gcampagna@src.gnome.org>
Thu, 31 Jan 2013 12:20:08 +0000 (13:20 +0100)
Some notifications, despite being emitted by shell code, should appear
to be from application or "separable" system components. Do that by
associating them with a notification-daemon policy.

Note that for this to look really good, empathy should rename itself
to Chat.

https://bugzilla.gnome.org/show_bug.cgi?id=685926

js/ui/components/telepathyClient.js
js/ui/status/bluetooth.js
js/ui/status/network.js

index 440655c584f12d984e6a46b719ecdff8960e03af..72df82d679f33f3cf19fab2f8f07587fa33c6585 100644 (file)
@@ -13,6 +13,7 @@ const Tp = imports.gi.TelepathyGLib;
 const History = imports.misc.history;
 const Main = imports.ui.main;
 const MessageTray = imports.ui.messageTray;
+const NotificationDaemon = imports.ui.notificationDaemon;
 const Params = imports.misc.params;
 const PopupMenu = imports.ui.popupMenu;
 
@@ -415,6 +416,8 @@ const TelepathyClient = new Lang.Class({
     _ensureAppSource: function() {
         if (this._appSource == null) {
             this._appSource = new MessageTray.Source(_("Chat"), 'empathy');
+            this._appSource.policy = new NotificationDaemon.NotificationApplicationPolicy('empathy');
+
             Main.messageTray.add(this._appSource);
             this._appSource.connect('destroy', Lang.bind(this, function () {
                 this._appSource = null;
@@ -484,6 +487,10 @@ const ChatSource = new Lang.Class({
         return rightClickMenu;
     },
 
+    _createPolicy: function() {
+        return new NotificationDaemon.NotificationApplicationPolicy('empathy');
+    },
+
     _updateAlias: function() {
         let oldAlias = this.title;
         let newAlias = this._contact.get_alias();
@@ -1048,6 +1055,10 @@ const ApproverSource = new Lang.Class({
         }));
     },
 
+    _createPolicy: function() {
+        return new NotificationDaemon.NotificationApplicationPolicy('empathy');
+    },
+
     destroy: function() {
         if (this._invalidId != 0) {
             this._dispatchOp.disconnect(this._invalidId);
index da720f32e002f314a46d69edefabcd59c5558b34..46367108462f38e41bdc5e288a76912fd8794e6e 100644 (file)
@@ -9,6 +9,7 @@ const St = imports.gi.St;
 
 const Main = imports.ui.main;
 const MessageTray = imports.ui.messageTray;
+const NotificationDaemon = imports.ui.notificationDaemon;
 const PanelMenu = imports.ui.panelMenu;
 const PopupMenu = imports.ui.popupMenu;
 
@@ -286,6 +287,7 @@ const Indicator = new Lang.Class({
     _ensureSource: function() {
         if (!this._source) {
             this._source = new MessageTray.Source(_("Bluetooth"), 'bluetooth-active');
+            this._source.policy = new NotificationDaemon.NotificationApplicationPolicy('gnome-bluetooth-panel');
             Main.messageTray.add(this._source);
         }
     },
index 8c7c4dc7553f5c8396d56ae8ae275e928ed2b886..93225fdceb3f59ca9382696465a81dff7d1045ef 100644 (file)
@@ -20,6 +20,7 @@ const Main = imports.ui.main;
 const PanelMenu = imports.ui.panelMenu;
 const PopupMenu = imports.ui.popupMenu;
 const MessageTray = imports.ui.messageTray;
+const NotificationDaemon = imports.ui.notificationDaemon;
 const ModemManager = imports.misc.modemManager;
 const Util = imports.misc.util;
 
@@ -1783,6 +1784,7 @@ const NMApplet = new Lang.Class({
         if (!this._source) {
             this._source = new MessageTray.Source(_("Network Manager"),
                                                   'network-transmit-receive');
+            this._source.policy = new NotificationDaemon.NotificationApplicationPolicy('gnome-network-panel');
 
             this._source.connect('destroy', Lang.bind(this, function() {
                 this._source = null;